package com.chenjt.jvm.first.two_classLoader;

/**
 * 注释：
 *
 * @author chenjt
 * @date 2025/6/4 9:16
 */
public class ClassInitTest {

    private static int num = 1;

    static{
        num = 2;
        number = 20;
        System.out.println(num);
        // 报错：非法的前向引用（因为变量声明在此构造方法之后）
//        System.out.println(number);
    }

    /**
     * 1.linking中的prepare，number赋值为0
     * 2.在之后的initial中，number先是被赋值为20，再被修改为10
     */
    private static int number = 10;

    public static void main(String[] args) {
        System.out.println(ClassInitTest.num);// 2
        System.out.println(ClassInitTest.number);// 10
    }

}
